/**
 * Created by levy on 16/7/21.
 */

export const TimeUtil = {
    /**
     * 把秒转换成分:秒
     * @param secs
     */
    convertTime (secs) {
        return {
            min: Math.floor(secs / 60),
            sec: secs % 60
        }
    },

    /**
     * 倒计时
     * @param time 目前只支持格式 分:秒, 配合convertTime一起使用
     * @param ingFn 每倒数一次后要执行的函数, 执行时传新的 time 作为参数
     * @param endFn 结束后执行的函数, 执行时传新的 time 作为参数(一般用不到)
     * @param interval 间隔时间默认为1秒
     */
    countDown (time, ingFn, endFn, interval = 1000) {
        if(time.sec <= -1) {
            endFn(time);
        }
        else {
            let int = setInterval(() => {
                if(time.min == 0 && time.sec == 0) {
                    clearInterval(int);
                    endFn(time);
                }
                else if(!time.sec) {
                    time.sec = 59;
                    time.min--;
                }
                else {
                    time.sec--;
                }
                ingFn(time);
            }, interval);
        }
    },
};

